Method and apparatus for correlating a unique identifier, such as a PSTN telephone number, to an internet address to enable communications over the internet

ABSTRACT

A directory service, containing unique identifiers (e.g., telephone numbers) and related Internet address(es), accessible through the Internet. An Internet-enabled communication system, such as IP-PBX or voice mail system, accepts a telephone number as a destination address. It then contacts the directory service and requests the Internet address related to that telephone number. The communication system uses the Internet address to set up a delivery path via the Internet to the destination. Thus, all time-dependent charges normally associated with message delivery by the telephone network can be avoided.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation-in-part of U.S. Ser. No. 09/226,901, filed on Jan. 8, 1999, and a continuation-in-part of U.S. Ser. No. 09/092,764, filed on Jun. 5, 1998, to which priority is claimed and which are hereby incorporated by reference in their entirety.

FIELD OF THE INVENTION

[0002] The present invention relates to a directory service for enabling communications over a data network such as the Internet, and more particularly to the use of a unique identifier (for example, a PSTN telephone number) with this directory as a means for acquiring the associated data network address information for an intended recipient of a communication.

BACKGROUND OF THE INVENTION

[0003] The Public Switched Telephone Network (PSTN) is a well-known and pervasive communications network that utilizes unique telephone numbers for setting up telephone calls. Millions of users all over the world have been assigned unique telephone numbers; moreover, users understand how to set up telephone calls to desired destinations by dialing such numbers. Originally conceived to carry real-time voice communications, the role of the PSTN has expanded to include other types of communications as well, including data. Facsimile is a well-known example of data communication over the PSTN.

[0004] The Internet, a data network, has more recently become well-known and pervasive. Unlike the PSTN which utilizes circuit switched technology, the Internet utilizes a packet switched technology. Compared to circuit switched networks, packet switched networks are commonly acknowledged to be far more efficient for the transport of information. Generally, charges for use of the PSTN are time based (i.e., cents per minute of use) whereas charges for use of the Internet are usually flat monthly fees. Reflecting its increased efficiency, the cost for use of the Internet is less than that of the PSTN. As a further distinction between the two, the Internet utilizes an addressing structure completely different from the PSTN. It employs unique domain names (c.g., “xyz.com”) and associated, unique Internet Protocol (IP) addresses (e.g., “249.123.356.295”) for establishing packet based communications between systems. Note that, like the PSTN, the Internet can be used to carry voice communications; however, a PSTN telephone number cannot be used to set up a telephone call on the Internet.

[0005] In general, the lure of communication via the Internet, compared to communication via the PSTN, is lower cost to the end user. Thus, in order to reduce costs, individuals and businesses seek to shift more and more communications traffic from the PSTN to the Internet. Such “traffic” may include real-time voice, fax, voicemail, unified messaging, etc. Today, many “Internet enabled” communication systems exist which allow the transport of such traffic over the Internet. Normally, such systems accept a standard telephone number from a user to address a communication. They then consult either an internal directory or other local directory to translate the telephone number into the required Internet Protocol (IP) address of the destination system. Unfortunately, such internal or local directories (databases) are, by their nature, very restricted in scope. For example, they may meet the need for communications occurring within a company, but the IP addresses for systems outside the company (remote addresses) will likely exist only for a limited number of frequently dialed destinations. If an IP address is unavailable in the local database, the communication is typically handed off to the PSTN. An ancillary problem exists with purely local directories: it is difficult to maintain accurate information on remote addresses due to the frequent movement of individuals both within a given company and between different companies.

[0006] In summary, the restricted addressing capability of a local directory severely circumscribes the utility of these new IP-enabled communication systems. The limited information contained in such local directories results in many call diversions to the PSTN, and further, increased administration costs associated with maintaining local databases.

SUMMARY OF THE INVENTION

[0007] The present invention is directed to a method and apparatus designed to simplify communication between end users (source and destination) on a data network. More specifically, the invention provides a database on a data network to relate a unique identifier attached to a user, to a data network address by which the user may be reached. Presumably, the unique identifier is one readily available to those desiring to communicate with the user. For example, it may take the form of a telephone number by which the user is commonly reached. According to one aspect of the invention, a method is provided for registering a unique identifier and an associated Internet address with a directory service (DS) that is accessible on the Internet. The directory service can then be accessed with a request for resolution of the unique identifier to its associated Internet address, wherein the directory service resolves the associated Internet address in response to the request.

[0008] According to another aspect, an apparatus of the invention comprises a directory service (DS), accessible via a data network, of unique identifiers and associated data network addresses.

[0009] In a preferred embodiment, the unique identifier is a telephone number, as provided by the PSTN. The data network may take the form of the commonly available Internet. The directory service would thus provide resolution of the telephone number of an intended recipient, to an associated Internet address for the intended recipient. The directory may also contain other information which may be useful in setting up a communication link between users. Such other information may also include particular requirements of the destination system, for example, the required format of a communication.

[0010] By way of example illustrated in FIG. 1, a method is provided for contacting an end user on the Internet comprising the steps of:

[0011] a first communication system (CS-1) 2 serving a first end user (EU-1) 1 providing a telephone number of a second end user (EU-2) 3 to a directory service (DS) 12 accessible via the Internet 10, the DS comprising a compilation of telephone numbers and associated Internet addresses for end users;

[0012] searching the DS, based on the telephone number of EU-2, for an associated Internet address of a second communication system (CS-2) 4 serving EU-2; and

[0013] EU-1 contacting EU-2 via the Internet based on the associated Internet address of CS-2.

[0014] If an Internet address is not available, the call is completed via the PSTN 8.

[0015] The contacting step may comprise at least one of real-time voice, voicemail, unified messaging, fax, or remote printing. An Internet address is defined to include any one of a variety of addressing mechanisms used in the Internet space. These include the more commonly known Internet Protocol (IP) address generally associated with an individual piece of equipment (an IP enabled fax machine, for example), the Simple Mail Transport Protocol (SMTP) e-mail address, and the Voice Profile for Internet Mail (VPIM) voicemail system address. Thus, by way of example, the Internet address of the recipient may be an IP address of an IP-telephone of CS-2, an IP address of an IP-mobile phone of CS-2, an IP address of an IP-PBX of CS-2, a VPIM address of a voicemail system of CS-2, an SMTP address of a unified messaging system of CS-2, an SMTP address of an e-mail system of CS-2, an IP address of a fax machine of CS-2, or an IP address of a printer of CS-2. For purposes of clarification, an IP-PBX is a Private Branch Exchange telephone switch which contains a connection to the Internet as well as traditional connections to the PSTN. Normally, a PBX is located on a customer premises.

[0016] The method and apparatus of the invention is provided to multiple end users, wherein each user may be charged a fee for being listed (registered) in the directory service (DS) or a fee for utilizing the DS. This fee may be for example a fixed fee, either on a one-time basis or periodic, or a fee based on the amount of usage of the DS. According to another aspect of the invention, a method is provided comprising free registration of end users in the DS and a fixed fee is billed only to those users who are determined to be “active users” of the DS. In one embodiment, an active-user is defined as a user record that is requested by a communications device in a predetermined period of time, e.g., at least once per month. Further alternatives are no fee for registration or usage, but a fee to advertisers for including advertisements with the service.

[0017] According to another aspect of the invention, an apparatus is provided comprising:

[0018] an external directory service (DS) accessible via the Internet;

[0019] the DS comprising registered unique identifiers and associated Internet addresses; and

[0020] an interface to the DS for multiple Internet-enabled communication systems.

[0021] The multiple communication systems may include, for example, Internet enabled PBX, voicemail, fax, unified messaging, and remote printing systems. Each of these systems may contact the directory service using one or more different protocols, such as Lightweight Directory Access Protocol (LDAP) or Domain Name System (DNS), to resolve the registered unique identifier to an associated Internet address.

[0022] According to another aspect of the invention, a method and apparatus are provided for associating more than one Internet address with a single unique identifier. In this case, each Internet address would relate to a different type of communications system. The directory service would use information contained within the request to determine which Internet address is the proper one for a given system. In a preferred embodiment, a single telephone number can be related to: an Internet address for a real-time voice communications system (for example an IP-PBX, IP telephone or IP wireless telephone); an Internet address for a voice messaging communications system (for example a VPIM enabled voicemail system); an Internet address for a unified-messaging system; an Internet address for an e-mail system; and an Internet address for a fax machine or a network printer.

[0023] According to another aspect of the invention, a method and apparatus are provided for registering end users with the directory service. The end user registry may be based upon a unique identifier, e.g., a telephone number, and associated Internet address. A single end user, or an administrator for a group of end users, may contact the directory service via a web browser and utilize Hypertext Transport Protocol (HTTP) to access the registration service.

[0024] These and other features of the present invention will be more particularly described with respect to the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025]FIG. 1 is a schematic diagram of two alternative communication networks, the PSTN and the Internet; it shows the Internet accessibility of the directory service (DS) of this invention and the Internet connectivity between the sending (source) and the receiving (destination) communication systems.

[0026]FIG. 2 is an example of a directory service (DS) record for an end user showing various types of information that the DS may contain.

[0027]FIG. 3 is a schematic diagram of the components of the DS and its interface with an IP-PBX sending system and an IP-PBX receiving system.

[0028]FIG. 4 is a schematic diagram of certain physical components of one embodiment of the DS.

[0029]FIG. 5 is a schematic diagram of the interaction of various communication systems with the DS.

[0030]FIG. 6 is a flow diagram of the sequence of events which occur in one embodiment when an IP-PBX requests resolution of a unique identifier.

[0031]FIG. 7 is a flow diagram of the sequence of events which occur in one embodiment when a voicemail system requests resolution of a unique identifier.

[0032]FIG. 8 is a flow diagram of the sequence of events which occur in one embodiment when an administrator bulk loads information into the DS database.

[0033]FIG. 9 is a flow diagram of the sequence of events which occur in one embodiment when an individual user modifies information in the DS database.

DETAILED DESCRIPTION

[0034] The Directory Service

[0035] A “data network” is defined as a network designed for the efficient transport of data and which carries that data in a digital form in packets or cells. This is contrasted with the circuit switched network structures used by the world-wide Public Switched Telephone Network (PSTN).

[0036] An internet is one type of data network. Physically, an internet is a collection of packet switching networks interconnected by gateways along with the protocols that allow them to function logically as a single, large, virtual network. When written in upper case, Internet refers to the collection of networks and gateways that use the TCP/IP protocol suite and function as a single, cooperative virtual network. The Internet provides universal connectivity and three levels of network services; unreliable, connectionless packet delivery; reliable, full duplex stream delivery; and application level services like electronic mail that build on the first two. See D. Comer, Internetworking With TCP/IP, vol. 1, p. 492-493, Prentice-Hall Inc. (1991). Most of the written information about TCP/IP and the Internet, including its architecture, protocols, and history can be found in a series of reports known as “Requests For Comments” or RFCs. RFCs are available electronically from the Internet Network Information Center (NIC) at service@nic.ddn.mil. See D. Comer at pp. 447-475 for a list of RFCs arranged by topic.

[0037] A “network address” designates, in general, a destination address on a data network. It includes an “Internet address” wherein Internet address includes Internet Protocol (IP) Address, SMTP e-mail address, VPIM address, or any one of a variety of other address protocols used on the Internet. The term Internet address may also include any additional information which may be required by communication systems to establish communication links over the Internet.

[0038] An Internet protocol (IP) address is a 32-bit address assigned to hosts that want to participate in a TCP/IP internet. IP addresses are the abstraction of physical hardware addresses just as an internet is an abstraction of physical networks. An IP address consists of a network portion and a host portion. This partition enables efficient routing of packets.

[0039] To further define terms which may be unfamiliar, a PBX is a Private Branch Exchange telephone switch; it is normally installed at a customer site and is used to provide telephone service internal to the site as well as service to the outside world via the PSTN. An IP-PBX is a similar device which contains a connection to the Internet as well as the traditional connections to the PSTN; it is thus capable of connecting calls, either via the Internet or the PSTN. A Centrex system performs a service similar to a PBX; in this case, however, the equipment performing the switching function is located with the local telephone service provider. Centrex service provides a customer with “PBX-like” capabilities but on a fully outsourced basis. An IP-Centrex system also contains a connection to the Internet; it is thus capable of connecting calls, either via the Internet or the PSTN. In the provision of telephone service, all telephones and PBX's within a local area are connected to a central switching facility called a Central Office (CO). The CO provides connectivity for telephones within the local area; it also connects calls to areas beyond the local area via the PSTN. An IP-CO is connected to the Internet as well as the PSTN, allowing it to complete calls beyond the local area by either type of network. An IP-CO may be utilized by a local phone company or by an alternative network carrier like a cable TV company to provide IP based communication services.

[0040] The “directory service” (DS) is a directory that resides on a data network such as the Internet. It converts “unique identifiers” (for example, standard telephone numbers) into corresponding network addresses (for example, IP addresses). The service allows a communication system (for example, an IP-PBX) to utilize the Internet as a communication carrier alternative to the PSTN, while allowing end users to utilize non-Internet related unique identifiers (e.g., telephone numbers) as a common addressing scheme. The location of the physical directory may be centralized or distributed on the data network according to the needs of the users, the provider of the DS (e.g., a commercial entity that maintains and bills for registration and/or access to the DS), or the technology employed.

[0041] Examples of communication systems that could utilize the DS to convert a unique identifier into an Internet Address include, among others:

[0042] IP enabled PBX systems

[0043] IP enabled Centrex systems

[0044] IP enabled Central Office systems

[0045] IP enabled telephones

[0046] IP enabled wireless phones (mobile phone or cell phone)

[0047] IP enabled voicemail systems

[0048] IP enabled fax machines

[0049] Unified messaging systems

[0050] Remote printing systems

[0051] Examples of unique identifiers that communication systems might use to identify a station set, person, place or organization include, among others:

[0052] Telephone numbers

[0053] Random unique numbers

[0054] Personal identity codes

[0055] Social Security Numbers

[0056] Recorded spoken name

[0057] Voice prints

[0058] Finger prints

[0059] Retina scans

[0060] In various DS embodiments, one or more of these identifiers are used to search the DS database and locate an associated network address.

[0061] Examples of data network address information that could be stored in the DS and utilized by various communication systems include, among others:

[0062] IP (Internet Protocol) addresses

[0063] SMTP/MIME (Simple Mail Transport Protocol/Multiple Purpose Internet Mail Extension) addresses

[0064] VPIM (Voice Profile for Internet Mail) addresses

[0065] A variety of other information may be included in the DS database, such as the following exemplary record of one end user:

[0066] Full Name

[0067] Title {Dr., Miss, Mr., Mrs., Ms.}

[0068] First

[0069] Middle

[0070] Last

[0071] Suffix {I, II, III, Jr., Sr.}

[0072] Nickname

[0073] Spoken Name

[0074] Personal

[0075] Birthday

[0076] Spouse's Name

[0077] Anniversary

[0078] Photo

[0079] Company

[0080] Job Title

[0081] Employee Type

[0082] Employee Identifier

[0083] Department

[0084] Group

[0085] Profession

[0086] Manager

[0087] Assistant

[0088] Photo

[0089] User Name

[0090] Business Address

[0091] Street

[0092] City

[0093] State/Province

[0094] Zip/Postal code

[0095] Country/Region

[0096] Mail Stop

[0097] Building/Floor

[0098] Office Number

[0099] Home Address

[0100] Street

[0101] City

[0102] State/Province

[0103] Zip/Postal code

[0104] Country/Region

[0105] Other Address

[0106] Street

[0107] City

[0108] State/Province

[0109] Zip/Postal code

[0110] Country/Region

[0111] Business Phone

[0112] Business Mobile

[0113] Business Fax

[0114] Business Pager

[0115] Home Phone

[0116] Home Mobile

[0117] Home Fax

[0118] E-mail Address

[0119] Web Address

[0120] VPIM Address

[0121] VoIP Address

[0122] Certificates/Digital ID's

[0123]FIG. 2 illustrates an example of such a record stored in the directory service. The information in each record would be indexed (mapped) to enable searching and resolution of requests based on various combinations of inputs/outputs.

[0124] The DS database may also contain information related to the destination (addressed) communication systems or devices. For example, the unique identifier (telephone number) may correspond to an IP enabled fax machine. In this case, the database would, in responding to the inquiry, include information indicating the nature of the destination machine and the required format of the communication (i.e., TIFF). As another example, the unique identifier may correspond to a networked printer. In this case, the database response would include the proper printer format for the communication. More generally, each type of communication system may have a unique formatting requirement for the communication it receives. The DS, in responding to an inquiry, will so notify the inquirer (source) to be sure the communication is properly formatted for the receiving system.

[0125]FIG. 3 is a diagram of one embodiment of the directory service (DS) 12 comprising a computer that contains a database 19 (of records 24) and associated interface modules including HTTP module 13, LDAP module 15, and DNS module 17. The interface modules contain programs for accessing the database and interfacing with various communication applications that utilize the directory service. In this regard, HTTP stands for Hypertext Transport Protocol, LDAP stands for Lightweight Directory Access Protocol, and DNS stands for Domain Name System. All of these well-known communication protocols enable communication systems to contact the DS; this will be described in greater detail below in regard to FIG. 5.

[0126] Two end users in FIG. 3 are represented schematically as a source communication application IP-PBX A (26), and a destination IP-PBX B (an IP-PBX is a Private Branch Exchange (PBX) containing a connection to the Internet). The source A and destination B are connected to one another through the Internet 10. Dashed lines 29 denote that each IP-PBX 26 and 28 is a Private Branch Exchange residing on a customer premises, as opposed to being a part of the public Internet 10. An IP-PBX is just one example of a communication system that may access the DS to resolve a destination telephone number into an associated Internet address. The DS may return different address information for the same unique identifier based on the type of communication application accessing the service, the contents of the request, and/or the information contained in the directory for a particular end user. FIG. 5 illustrates various such communication systems including PBX system 50, voicemail system 52, unified messaging system 54, and remote printing system 56. In addition, end user 58, singly and/or as an administrator 60 of a group of end users, has access to the DS to enable registration and updating of records 24 in database 19.

[0127] Thus, the DS accepts a standard telephone number and returns an Internet address for a destination communication system or device, along with other pertinent destination information if available. The directory service supports a variety of applications and/or services including those described in summary form below; additional details are provided later in this specification.

[0128] Voice Messaging Application

[0129] Sending a Voicemail Message Via A Data Network

[0130] User A at Company A desires to send a voicemail message to User B at Company B. User A accesses his voice mail system (VMS) and via a telephone keypad, enters a unique identifier (for example, a telephone number) corresponding to the recipient, User B, and records a message. The VMS A at Company A must now arrange for the transport of the message to VMS B at Company B. VMS A first reviews its internal database to determine if it contains an Internet address (for example, a VPIM address) corresponding to the unique identifier entered by User A. If it does not, it contacts the DS via the Internet for the information. Using the Internet address obtained from the DS, VMS A sends the recorded message via the Internet to the recipient, User B, at VMS B. Note that the PSTN is nowhere engaged in this transaction, thus all time dependent telecommunication charges normally associated with placing a telephone call are avoided.

[0131] The DS invention solves an addressing problem in this application. A voice mail system, by design serving a limited constituency, likely contains in its memory only a small fraction of the VPIM addresses it requires to complete calls. The DS, accessible through the Internet, contains a comprehensive database of such addresses and makes them available to all registered users of the service. Moreover, it is capable of translating any unique identifier into an address format specific to the receiving machine—in this case, translating a telephone number into a VPIM address. The DS thus allows communication links to be established over the Internet between disparate communication systems while allowing end users to utilize unique identifiers such as PSTN telephone numbers as an addressing mechanism.

[0132] Forwarding, Broadcasting or Replying to a Voicemail Message Over a Data Network

[0133] Just as in the previous example of “sending a voicemail message”, all forms of voice messaging over the Internet require that a VMS convert a unique identifier like a telephone number into an appropriate Internet address. In all voice messaging applications, the DS invention solves an addressing problem of converting a unique identifier into the Internet address necessary to support the voice messaging application. In these examples, the DS, accessible through the Internet, contains a comprehensive database of VPIM addresses and makes them available to all registered users of the service. Moreover, it is capable of translating any unique identifier into an address format specific to the needs of the receiving machine—in this case, translating a telephone number into a VPIM address.

[0134] IP-PBX Application

[0135] An IP-PBX is an Internet Protocol enabled Private Branch Exchange telephone system that is capable of setting up telephone calls either over the Internet using IP technology or over the Public Switched Telephone Network using circuit switched technology. Alternatively, an IP-telephone is a telephone device that is also capable of sending and receiving telephone calls using the Internet or the PSTN.

[0136] User A, connected to an IP-PBX phone system, dials a telephone number for a destination party located outside of User A's IP-PBX phone system. The IP-PBX first accesses its internal directory to determine if a corresponding IP address is available for the destination IP-telephone or IP-PBX. Finding none, it then consults the DS via the Internet for the required information. Other supporting information may also be requested including: a list of relevant communication protocols, spoken name of the destination party, etc. If the IP address is available, the Internet is used to connect the call, bypassing the PSTN and its associated time dependent costs.

[0137] The DS invention solves an addressing problem in this application. An IP-PBX, by design serving a limited constituency, likely contains in its memory only a small fraction of the IP addresses it requires to complete calls. The DS, accessible through the Internet, will contain a comprehensive database of IP addresses and make them available to all users of the service. Moreover, it is capable of translating any unique identifier into an address format specific to the needs of the receiving machine—in this case, translating a telephone number into a IP address.

[0138] IP-Centrex Application

[0139] An IP-Centrex system is capable of setting up telephone calls either over the Internet using IP technology or over the Public Switched Telephone Network using circuit switched technology.

[0140] User A, connected to an IP-Centrex phone system, dials a telephone number for a destination party located outside of User A's IP-Centrex phone system. The IP-Centrex system first accesses its internal directory to determine if a corresponding IP address is available for an IP-enabled telephone system at the destination. Finding none, it then consults the DS via the Internet for the required information. Other supporting information may also be requested from the DS including: a list of relevant communication protocols supported by the destination, spoken name of the destination party, etc. If an IP address is available, the Internet is used to connect the call, bypassing the PSTN and its associated time dependent costs.

[0141] The DS invention solves an addressing problem in this application. An IP-Centrex system by design, serving a limited constituency, likely contains in its memory only a small fraction of the IP addresses it requires to complete calls. The DS, accessible through the Internet, will contain a comprehensive database of IP addresses and make them available to all users of the service. Moreover, it is capable of translating any unique identifier into an address format specific to the needs of the receiving machine—in this case, translating a telephone number into a IP address. The DS thus allows communication links to be established over the Internet between disparate communication systems while allowing end users to utilize unique identifiers such as PSTN telephone numbers as an addressing mechanism.

[0142] IP Central Office (IP-CO) Application

[0143] An IP-CO is an Internet Protocol enabled Central Office telephone system that is capable of setting up telephone calls either over the Internet using IP technology or over the Public Switched Telephone Network using circuit switched technology.

[0144] User A, connected to an IP-CO telephone switch, dials a telephone number for a destination party located outside of User A's IP-CO local calling area. The IP-CO first accesses its internal directory to determine if a corresponding IP-address is available for an IP-enabled telephone system at the destination. Finding none, the IP-CO then consults the DS via the Internet for the required information. Other supporting information may also be requested including: a list of relevant communication protocols, spoken name of the destination party, etc. If an IP-address is available, the Internet is used to connect the call, bypassing the PSTN and its associated time dependent costs.

[0145] The DS invention solves an addressing problem in this application. An IP-CO, by design, serving a limited constituency, likely contains in its memory only a small fraction of the IP addresses it requires to complete calls. The DS, accessible through the Internet, will contain a comprehensive database of IP addresses and make them available to all users of the service. Moreover, it is capable of translating any unique identifier into an address format specific to the needs of the receiving machine—in this case, translating a telephone number into a IP address. The DS thus allows communication links to be established over the Internet between disparate communication systems while allowing end users to utilize unique identifiers such as PSTN telephone numbers as an addressing mechanism.

[0146] IP-Telephone Application

[0147] An IP-telephone is a telephone device that is capable of sending and receiving communications using the Internet or the PSTN for connectivity to other systems. The IP-telephone may be either a wireline or a wireless variety.

[0148] Using a standard PSTN number, User A dials a telephone number for a destination party. The IP-telephone first accesses its internal directory to determine if a corresponding IP-address is available for the destination system. Finding none, it then consults the DS via the Internet for the required information. Other information required to complete the communication may also be requested at this time (i.e., a list of relevant communications protocols supported by the receiver). If the IP address is available, the Internet is used to connect the call, bypassing the PSTN and its associated time dependent costs.

[0149] The DS invention solves an addressing problem in this application. An IP-telephone likely contains in its memory only a small fraction of the IP addresses it requires to complete calls. The DS, accessible through the Internet, will contain a comprehensive database of IP addresses and make them available to all users of the service. Moreover, it is capable of translating any unique identifier into an address format specific to the needs of the receiving machine—in this case, translating a telephone number into a IP address.

[0150] Unified-Messaging Application

[0151] A unified messaging application is a communication system that allows end-users to access multiple forms of messages through either a common PC interface or a common telephone interface. Some of the more prevalent features of unified messaging applications are the ability to retrieve both e-mail and voicemail messages over the phone and the ability to send both e-mail and voicemail messages to destinations over the Internet in an e-mail format. Spoken e-mail is a term that refers to a voice message that is sent to a destination in an e-mail format—hence “spoken” e-mail.

[0152] User A accesses a unified-messaging system or application to send, forward or broadcast a spoken e-mail message to a destination party(s), User B. User A records a voice message and enters a telephone number to identify User B. The unified-messaging application first accesses its internal directory to determine if a corresponding Internet e-mail address is available for the destination telephone number(s) entered by User A. Finding none, the unified-messaging system accesses the DS via the Internet to determine if an e-mail address corresponding to the telephone number(s) is available for the destination party. At the same time, the unified-messaging system may request message format options acceptable to the destination communication system. If an e-mail address is available, the unified-messaging system formats the spoken e-mail message in a format that is acceptable to the destination e-mail system and sends the message via a data network to the destination e-mail address.

[0153] The DS invention solves an addressing problem in this application. A unified-messaging application likely contains in its memory only a small fraction of the world's Internet e-mail addresses it requires to complete message transmissions. The DS, accessible through the Internet, contains a comprehensive database of such addresses and makes them available to all users of the service. Moreover, it is capable of translating any unique identifier into an address format specific to the needs of the receiving machine—in this case, translating a telephone number into an e-mail address.

[0154] Remote Printing Application

[0155] This application allows a document transmitted over the Internet to appear in printed form at the destination location. This contrasts with another well-known messaging application, e-mail, in which the message appears at the destination in electronic format and is viewed on a display device such as a CRT or LCD display. In this latter case, a printed version of the document requires discrete action on the part of the receiver. Several alternative versions of this application are possible:

[0156] A user inserts a document into a standalone networked scanning device (for example, a Hewlett-Packard Digital Sender) and keys in a destination telephone number. The scanner first accesses its internal directory to determine if a corresponding Internet address is available for a destination printer assigned to the telephone number entered by the user. Finding none, it then consults the DS via the Internet for the IP address of a printer associated with the keyed-in telephone number. At the same time it may request the requisite printer driver information for the destination printer. The device then scans the document, formats it properly, and sends it via the Internet to the destination printer. The printer prints the document. At no time does the document reside at the destination in electronic format.

[0157] Alternative 1. The destination telephone number is that of a network enabled fax machine. When contacted, the DS relays this fact as well as the requisite IP address to the scanner. The scanner formats the document as a fax (for example, as a TIFF file) and sends it via the Internet to the destination fax machine. At no time is the PSTN utilized in the transaction; thus all associated time-dependent telephone charges are avoided.

[0158] Alternative 2. The source of the document is a PC. The document may be in any electronic format (e.g., Microsoft Word, Excel or image format such as TIFF or a bitmap). An application on the PC allows the user to request that the document be printed at the destination rather than appear in electronic format such as e-mail. The user inputs a unique identifier (for example, a telephone number) corresponding to the individual who is destined to receive the document. Using the Internet, the application on the PC relays the unique identifier to the DS along with a request for printer information. The DS responds with the IP address and related driver information of a printer proximate to the person owning the unique identifier. The PC application properly formats the document and sends it via the Internet to the destination printer. In addition, it may create a cover sheet for the document and include the name of the recipient, the number of pages in the document, a short message and other relevant information. The destination output device in this alternative may also be a fax machine, as described above.

[0159] The DS invention solves an addressing problem in this application. A remote printing application likely contains in its memory only a small fraction of the addresses it requires to complete message transmissions. The DS, accessible through the Internet, contains a comprehensive database of such addresses and makes them available to all users of the service. Moreover, it is capable of translating any unique identifier into an address format specific to the needs of the receiving machine—in this case, translating a telephone number or e-mail address into the IP address required to access the destination printer. Further, the DS provides to the sender the appropriate printer drivers required by the destination printer.

[0160] Web Registration/Administration

[0161] A variety of mechanisms are available to accomplish the registration and administration of end user telephone numbers, IP addresses and other information within the directory. Two registration modes will be considered—bulk and individual. Bulk registration of telephone numbers and associated information provides the ability to supply the directory service with potentially large quantities of data. The information is first transformed into one of the supported directory service file formats (comma delimitated, LDIF); it is then transferred to the DS using either File Transfer Protocol (FTP) or specially designed capabilities on the DS Web site. Registration and administration of individual users is accomplished by commonly accepted means from a DS Web site.

[0162] Resolving Telephone Numbers to IP Addresses

[0163] In one embodiment of the invention, the unique identifier submitted to the directory service is a PSTN telephone number; this is resolved (translated) by the system into a related Internet address. Fortunately, the format of telephone numbers worldwide adhere to a standard controlled by International Telecommunications Union (ITU) standard E.164. This standard helps make the DS resolution (translation) task predictable and thus minimizes its complexity. For example, an E.164 telephone number has a hierarchical structure, arranged in terms of country code which is 1 to 3 digits long, followed by a national designation. The national designation is defined by the particular country's numbering plan.

[0164] Earlier, a DNS interface to the DS was discussed as a viable access mechanism. However, a tractable system to enable translation of an E.164 telephone number with DS software requires the creation of a new name space or domain on the Internet. Ideally this would be a new generic top-level domain called “.tel” (i.e., the equivalent of .com or .gov). The Internet Corporation for Assignment of Names and Numbers (ICANN) controls the assignment of Root Domain Servers and the Generic Top Level Domains. Existing Generic Top Level Domains include: .com commercial business .org non-profit organizations .net networks .edu educational institutions .gov government bodies .mil military

[0165] ICANN, accessible via the Internet at www.icann.org, can be petitioned to adopt tel as an additional generic top level domain. As an alternative, the DNS component of the DS can be implemented by using a sub-domain within one of the existing Generic Top Level Domains with no approval required by ICANN.

[0166] The format of a standard E.164 telephone number can be modified for use by DNS software. By reversing the order of the elements, the DS will resolve from the most specific to the most general. By separating each digit in the national designation, one may construct an appropriate protocol without regard to or knowledge of nationally specific numbering plans. For example, in one system to translate the telephone number 1-800-555-1212 into an address, the software reverses the E.164 elements (i.e., country code, area code, local exchange and extension) and appends the “.tel” generic top level domain identifier. The resulting DS domain name address becomes: “2.1.2.1.5.5.5.0.0.8.1.tel”. Alternatively, the DS would also accept the format: “8005551212.1.tel”.

[0167] A directory interface based upon LDAP (Lightweight Directory Access Protocol) provides another mechanism for efficient resolution of a telephone number into an Internet address. LDAP systems are typically used where quick responses to requests and retrieval of relatively small amounts of information are required. Additionally, the information is expected to change very little over time (i.e., the information is static). By way of example, in a private corporate network, LDAP has been used for accessing a database of employee information—e.g., a first user enters a coworker's name; the LDAP directory responds by providing information such as the email address of the coworker, his/her office location, a picture of the coworker, how many years the coworker has been employed by the corporation, etc.

[0168] To resolve a telephone number into an Internet address, the LDAP software will also reverse the E.164 elements, but in this case, it need not append the “.tel” generic top level domain. In the above example the LDAP address will have the form: CC=1, ED=8, ED=0, ED=0, ED=5, ED=5, ED=5, ED=1, ED=2, ED=1, ED=2, where ED=E.164 digit and CC=country code. LDAP would also accept the format: CC=1, NSP=8005551212 where NSP=Nationally Significant Part.

[0169] Implementation

[0170] The DS can be configured to run under Sun Cluster 2.1 Software on a group of Sun Enterprise Class Computer Servers using RAID (redundant array of independent discs) based storage devices (available from Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, Calif. 94303 USA). These systems may be housed in an Internet Data Center with fully redundant subsystems, such as multiple fiber trunks coming from multiple sources, redundant power supplies, and backup power generators. The DS site may also utilize firewall technology to securely protect the information stored in the DS. Such systems are commonly used in application such as those described herein. Many variations will be apparent to those skilled in this art.

[0171] By way of example, FIG. 4 shows two Sun Enterprise 4500 computer servers, each having 4-400 Mhz processors, 4 gigabytes (GB) of memory and 18 GB of internal disk/storage. These are connected through a Cisco Catalyst 5000 switch (available from Cisco Systems, Inc., San Jose, Calif. USA) to various Sun 420R devices, each having 2-450 Mhz processors, 2 GB of memory, and 18 GB of internal disk/storage. Two of these 420R devices are used for each of the DNS, LDAP, and HTTP software. A Cisco Local Director 38 is connected to the switch 34, and a Sun storage array 5200, having 200 GB internal disk is connected to each of the Sun computer servers 30, 32. This selection and arrangement of hardware and software for implementing the directory service is given by way of example only and not intended to limit the scope of the present invention.

[0172] Lightweight Directory Access Protocol (LDAP) provides efficient transport in packet-based networks. LDAP software components are available off-the-shelf from a variety of sources. A recent release of LDAP, known as Oracle Internet Directory (OID) version 3 compatible LDAP directory, is a super-scalable version which permits a very large number of database entries (available from Oracle, 500 Oracle Parkway, Redwood City, Calif. 94065, USA). Any of the IP-PBX, voice mail, unified messaging and remote printing applications may contact the directory service using LDAP. The application accesses the directory service by making a function call to an external LDAP directory.

[0173] These same applications can also update the directory service with an up-to-date list of phone numbers and associated IP address information via an LDAP interface. This LDAP directory update software can be used to perform routine add/change/delete updates with the directory service.

[0174] To enable easy access to the information in the directory, one needs to know the structure of the directory database. The following resources can be used for designing an interface which accepts LDAP queries to the directory service: Java Server Pager (JSP); Java Servlet, Apache Web Server; Java Naming and Directory Interface (JNDI).

[0175] Sequence Diagrams Illustrating Access to Directory Service

[0176]FIG. 5 is a schematic representation of various communications applications, e.g., IP-PBX 50, voicemail 52, unified messages 54, and remote printing 56, along with end user 58 and administrator 60, each of which can access DS 12 by one or more Internet communication protocols including DNS, LDAP, and HTTP. In this embodiment, the DS 12 includes a name service module 62, accessible on line 51 with DNS messages from IP-PBX 50. It further includes LDAP service module 66 connected by each of lines 49, 53, 55 and 57 to each of IP-PBX 50, voicemail 52, unified messaging 54 and remote printing 56. It further includes web service module 72 accessible on each of lines 59 and 61 with HTTP messages from end user 58 and administrator 60. Within DS 12, web service 72 sends LDAP messages on line 73 to LDAP service module 66. A synchronization utility module 64 synchronizes the address information in each of name service 62 and LDAP service 66. Billing module 68 sends/receives LDAP messages on line 67 to/from LDAP service module 66. A bulk load utility module 70, used for registering large numbers of telephone numbers and associated Internet addresses into the database, receives various electronic messages from web service module 72 on line 71, and sends LDIF data on line 69 to LDAP service module 66. The database 19, of registered telephone numbers and associated Internet addresses, sends and receives messages on line 75 to and from LDAP service 66.

[0177] The flow charts of FIGS. 6-9 will be used to illustrate the sequence of operations and functionality of the various aforementioned components of DS 12.

[0178] IP-PBX Performs Destination IP Address Lookup

[0179] As illustrated in FIG. 6, the IP-PBX (50 in FIG. 5) connects to a top-level domain name system (DNS) service (62 in FIG. 5) to obtain the IP address of the LDAP service (66 in FIG. 5) based on a dialed telephone number. The dialed telephone number is supplied by an end user connected to the IP-PBX 50. The DNS service 62 returns the associated IP address of LDAP service 66 and logs the activity. Once IP-PBX 50 has successfully retrieved the IP address of the LDAP directory, it closes the connection to the DNS server 62 and opens a connection to the LDAP service 66. It then sends a request to resolve the telephone number of the destination IP-PBX to its associated IP address, by querying the LDAP service. The LDAP service retrieves the destination IP-PBX address from database 1.9, and logs the activity. The source IP-PBX 50 then closes the connection to DS 12 and continues to process a call to destination IP-PBX with the associated IP address.

[0180] Voicemail Performs Destination VPIM Address Lookup

[0181] In the flow chart of FIG. 7, a source voicemail system accesses the DNS service, similar to the process described with respect to the source IP-PBX system in FIG. 6. Although this connection is not illustrated in FIG. 5, it will be otherwise described with regard to the flow chart of FIG. 7.

[0182] The voicemail system (52 of FIG. 5) connects to the top level DNS server 62 to obtain the IP address of the LDAP service 66 based on a dialed telephone number—this is the same procedure as described with respect to FIG. 6. The DNS service returns the IP address and logs the activity. Once the voicemail system has successfully retrieved the IP address of the LDAP directory, it closes the connection to the DNS service and opens a connection to the LDAP service 66. It then sends a request to resolve a telephone number to the VPIM address of the destination mailbox by querying the LDAP service 66. VPIM is a standard protocol, Voice Profile for Internet Mail (VPIM), developed by the Electronic Messaging Association (EMA), a group of independent voicemail and e-mail manufacturers. VPIM allows different voicemail systems to transfer messages to one another, even if each VMS is made by a different manufacturer with its own proprietary protocol. VPIM is built on top of the enhanced Simple Mail Transport Protocol/Multiple Purpose Internet Mail Extension (SMTP/MIME) that allows each VMS to send and receive messages, such as voice messages, to one another over the Internet. The LDAP service 66 retrieves the destination VPIM address from database 19, and logs the activity. The voicemail system 52 closes the connection and continues processing the voicemail message for transmission on the Internet to the destination voicemail system.

[0183] Although not explicitly described herein, the unified messaging system 54 and remote printing system 56 can utilize similar flow sequences for resolving destination telephone numbers to destination Internet addresses.

[0184] Administrator Bulk Loads Entries to DS Database

[0185]FIG. 8 is a flow sequence which illustrates the steps which occur when an administrator (60 in FIG. 5) registers a large number of telephone numbers and associated Internet addresses, into database 19.

[0186] Administrator 60 accesses DS 12 via the web service 72. The administrator provides a user name and password via a secure connection to web service 72. The user name and password are authenticated by LDAP service 66 and the web service then creates a session for the user. Next, the web service retrieves a user entry form from the LDAP service 66 and displays it back to the administrator. The administrator now uploads a bulk user entry file to the web service. The web service 72 inserts the file into the bulk load utilities module 70 for batch processing. The web service then displays to the administrator a job number and indication that the administrator will be notified when processing is complete. The bulk load utility 70 begins processing the entry by reformatting the file into LDIF format and verifying its contents. The data is then loaded into the LDAP service 66 and notification sent to the administrator when complete.

[0187] In the embodiment of FIG. 5, the bulk load utility 70 receives a file from web service 72, determines the format, and converts it to an LDIF format; it then sends the LDIF data to LDAP service 66. In an alternative embodiment, an administrator 60 may send an LDIF file directly to web service 72, in which case conversion is not required. As a further alternative, in cases where it is only required to update a few records in DS 12, an end user or administrator may send LDAP requests directly to the LDAP service 66.

[0188] End User Updates A User Entry

[0189]FIG. 9 illustrates a flow sequence for an end user updating a user entry via a web interface.

[0190] An end user (58 in FIG. 5) accesses the DS 12 via web service 72 and provides a user name and password via a secure connection. The user name and password are authenticated by the LDAP service 66 and the web service 72 creates a session for the user. Next, the web service retrieves a user entry (record) from the LDAP service 66 and displays it back to the user. The user now modifies the contents of the entry and submits the changes back to the web service. The web service validates the contents of the entry and updates the LDAP service. The web service displays a successful completion of the update. The end user then logs off the web service, the web service ends the session and displays to the end user the successful log-off operation. In the above embodiment, the source communication application can send either a DNS or an LDAP request message to the DS 12. Two sources of data are maintained in the DS 12, namely data in name service 62 and data in LDAP service 66. Synchronization of the data is achieved by the synchronization utility 64. This is accomplished by translating LDAP database entries to Bind 8 DNS zone files. In an alternative embodiment, the DS may have only one source of data. In this alternative example, the DNS request would be translated to an LDAP request and forwarded to the LDAP service 66, while the DNS service 62 waited for a response. The billing module 68 (see FIG. 5) accesses the LDAP service 66 for a log of activity, e.g., number of each users requests for resolution over a given time period. The billing module 68 may then send each user a bill based on the amount of their access. In an alternative embodiment, a monthly registration fee may be charged to a user. Other aspects, advantages, and modifications are also within the scope of the following claims.

[0191] For example, a computer system provides a directory service over a public computer network, the system including a computer connected to the public computer network which performs the following functions:

[0192] a) receiving an electronic transmission with at least one telephone number and associated public network address from one or more users;

[0193] b) entering in a database that is accessible to users via the public computer network, the at least one telephone number and associated public network address; and

[0194] c) maintaining the database for a predetermined time period during which users may submit requests for resolution of the telephone number to the associated public network address.

[0195] The computer may be a computer server, and the public computer network may be the Internet. A user may access entries from the database. The computer may include at least one interface for receiving electronic transmissions from multiple communication systems, including two or more of IP-PBX, IP-CO, IP-Centrex, IP-telephone, IP-wireless phone, IP-voicemail, IP-fax, unified messaging and remote printing systems. The computer may also include a web site which provides information on the database to users.

[0196] In another embodiment, a computer apparatus for a directory service resolves a telephone number to an associated Internet address. The apparatus includes a computer having a CPU and a memory operatively connected to the CPU. The apparatus also includes at least one interface process, adapted for communicating with the computer, for transmitting to the computer a request for resolution of a telephone number to an associated Internet address. The memory in the computer contains a program, adapted to be executed by the CPU, for resolving the request. The computer receives the request from the interface process and resolves the request.

[0197] In yet another embodiment, a method provides a directory service for resolving a telephone number to an Internet address, including the steps of:

[0198] inputting to a computer via a communication system, a request for resolution of a telephone number to an associated Internet address;

[0199] executing a program on the computer to resolve the request; and

[0200] outputting the resolved Internet address from the computer to the communication system.

[0201] In yet another embodiment, a system provides a directory service and includes:

[0202] establishing by a customer an account with a provider of the directory service (DS);

[0203] registering telephone numbers and associated Internet addresses in the DS;

[0204] accessing the DS for resolution of a registered telephone number to an associated Internet address; and

[0205] billing customers for accessibility to the DS.

[0206] In yet another embodiment, a method comprises:

[0207] registering a unique identifier and associated network address with a directory service (DS), the DS being accessible via a public data network; and

[0208] accessing the DS via the public data network with a request for resolution of the unique identifier to the associated network address, wherein the DS resolves the associated network address.

[0209] In yet another embodiment, a system comprises:

[0210] an external directory service (DS) accessible via a public data network;

[0211] the DS comprising registered unique identifiers and associated data network addresses; and

[0212] an interface for the DS allowing multiple communication systems to access the DS.

[0213] In yet another embodiment, a computer system provides a DS over a public data network and includes a computer connected to the public data network which performs the following functions:

[0214] a) receiving an electronic message with at least one unique identifier and associated network address from one or more users;

[0215] b) entering in a database that is accessible to users via the public data network, the electronic message, and

[0216] c) maintaining the database for a predetermined time period during which users may submit requests for resolution of the unique identifier to the associated network address.

[0217] Other aspects, advantages, and modifications are also within the scope of the following claims. 

1. A system comprising: a directory service (DS), accessible via the Internet, containing unique identifiers and associated Internet addresses.
 2. The system of claim 1, wherein the unique identifiers are telephone numbers.
 3. The system of claim 1, wherein the DS is accessible to multiple communication systems including two or more of IP-PBX, IP-CO, IP-Centrex, IP-telephone, IP-wireless phone, IP-voicemail, IP-fax, unified messaging, and remote printing systems.
 4. The system of claim 1, wherein the Internet address is for at least one of a telephone, voice mailbox, fax machine, printer, and unified messaging mailbox.
 5. The system of claim 1, wherein the system includes a first Internet Protocol enabled (IP-enabled) PBX system for a first end user and a second IP-enabled PBX system for a second end user.
 6. The system of claim 1, wherein the system includes a first Internet Protocol enabled (IP-enabled) voicemail system for a first end user and a second IP-enabled voicemail system for a second end user.
 7. The system of claim 1, wherein the system includes an Internet Protocol enabled (IP-enabled) remote printing system for a first end user and at least one of an IP-enabled fax machine and IP-enabled printer for a second user.
 8. The system of claim 1, wherein the system includes a first Internet Protocol enabled (IP-enabled) unified messaging system for a first end user and at least one of an IP enabled e-mail system of an IP-enabled unified messaging system for a second end user.
 9. The system of claim 1, wherein the system includes a first Internet Protocol enabled (IP-enabled) Centrex system for a first end user and a second IP-enabled Centrex system for a second end user.
 10. The system of claim 1, wherein the system includes a first Internet Protocol enabled (IP-enabled) CO system for a first end user and a second IP-enabled CO system for a second end user. 11-21. (Canceled)
 22. A method comprising: registering a telephone number and associated Internet address with a directory service (DS), the DS being accessible via the Internet; and accessing the DS via the Internet with a request for resolution of the telephone number to an associated Internet address, wherein the DS resolves the associated Internet address.
 23. The method of claim 22, wherein more than one Internet address is associated with a single telephone number and the request for resolution includes identifying the type of application requesting Internet address information.
 24. The method of claim 22, wherein the method is provided to multiple users, allowing users to register with the DS at no cost, but requiring users that access the DS with requests for resolution to pay a fee. 25-56. (Canceled) 57 A method enabling communications between end users, the end users having access to Internet-enabled communications systems, at least one destination end user having a non-Internet related unique identifier associated with multiple Internet addresses for different Internet-enabled communications systems and the method including the steps of: providing a directory service (DS), residing on a data network, containing the unique identifiers and associated Internet addresses; and one of the end users causing a communications application to send to the DS a request for resolution containing the one unique identifier for the destination end user; the DS resolving the one unique identifier to one of the multiple Internet addresses based on information contained within the request to determine which one Internet address is associated with a given communications system; and wherein end users are charged for registering with the DS. 